package com.htjc.integral.conversion.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.htjc.integral.model.conversion.EcBpMemberDetail;
import com.htjc.integral.model.conversion.EcBpMemberNew;
import com.htjc.integral.model.conversion.EcBpUseTime;

/** 
 * 处理关于积分变更的数据变更
 * @author  gmk
 * @date 创建时间：2017年7月7日 下午5:10:54
 * @version 1.0
 * @parameter 
 * @since
 * @return 
 */
@Mapper
public interface EcBpMemberDetailMapper {

	/**
	 * 插入积分变更信息
	 * @param ecBpMemberDetail
	 */
	public void insertMemberDetail(EcBpMemberDetail ecBpMemberDetail);
	
	/**
	 * 根据条件查询积分变更信息
	 * @param originId
	 * @return
	 */
	public List<EcBpMemberDetail> getMemberDetail(Map<String, String> map);
	
	/**
	 * 根据条件查询积分变更信息
	 * @param originId
	 * @return
	 */
	public List<EcBpMemberDetail> getOverdueIntegral(Map<String, String> map);
	
	/**
	 * 查询个人用户积分流水
	 * @param map
	 * @return
	 */
	public List<EcBpMemberDetail> getMemberDetailList(Map<String, String> map);
	
	/**
	 * 新查询个人用户积分流水
	 * @param map
	 * @return
	 */
	public List<EcBpMemberDetail> newGetMemberDetailList(@Param("memberId")String memberId);
	
	public List<EcBpMemberDetail> allGetMemberDetailList(@Param("memberId")String memberId);
	
	public List<EcBpMemberDetail> userIdDetailList(Map<String, String> map);
	
	public List<EcBpMemberDetail> betUserIdDetailList(Map<String, String> map);
	
	/**
	 * 根据detailId更新积分增加信息剩余积分大小
	 * 
	 */
	public Integer updateMemberDetailById(Map<String, Object> map);
	
	/**
	 * 根据生成业务id和生成渠道id查询积分有效期
	 * 
	 */
	public List<EcBpUseTime> getUseTimeById(Map<String, String>map);
	
	/**
	 * 根据memberId查询用户总积分
	 * @param userId
	 * @return
	 */
	public List<EcBpMemberNew> getBpValueById(String userId);
	
	/**
	 * 根据memberId更新用户总积分
	 * @param map
	 */
	public Integer updateMemberNewById(Map<String, Object> map);
	
	/**
	 * 插入用户总积分
	 * @param map
	 */
	public void insertMemberNew(Map<String, Object> map);
	
	/**
	 * 根据detailId删除一条插入信息---给抽奖赠送积分失败使用
	 * @param detailId
	 */
	public void deleteMemberDetailById(String detailId);

	/**
	 * 根据传过来的5位网省id查询6为网省id
	 * @param orgNo
	 * @return wpj
	 */
	public String getSixProvinceIdByprovinceId(String orgNo);

	/**
	 * wpj 根据网省id和用电编号查询传过来的总积分
	 * @param map
	 * @return
	 */
	public int getTotalIntegralRemaining(Map<String, String> map);
	
	/**
	 * lhs 根据用户id和用电编号查询消费的总积分
	 * lhs -- 20180517
	 * 返回为负值
	 */
	public int getTotalIntegralConsume(Map<String, String> map);

	/**
	 * lhs 根据用户id和用电编号查询消费的总积分
	 * lhs -- 20180517
	 * 返回为负值
	 */
	public int getTotalcorporationDvalue(Map<String, String> map);
	
	
	/**
	 * lhs 根据用户id和用电编号查询用户的积分流水
	 * lhs -- 20180517
	 */
	public List<EcBpMemberDetail> getConsNoIntegralDetail(Map<String, String> map);
	
	/**wpj
	 * 查询总消费积分
	 * @param map
	 */
	public List<EcBpMemberDetail> getConsumptionIntegral(Map<String, String> map);

	/**
	 * 查询消费当前订单的总积分wpj
	 * @param originId
	 * @return
	 */
	public int getTotalOriginIdIntegral(String originId);
	
	
	/**
	 * 根据条件查询积分变更信息
	 * @param originId
	 * @return
	 */
	public int getMemberDetailBpValue(Map<String, String> map);
	
	
}
